<!-- 大屏 》 页面 -->

<template>
  <CommonBody>
    <MyMap />

    <MyList />
  </CommonBody>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import store from './store'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'DashboardPage',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixStore(store)],

  /**
   * 组件导入 (Abc.vue + Abc/index.vue)
   */
  ...CORE.components(require.context('./', true, /vue$/)),

  /**
   * 监听属性 (深度 deep 首次 immediate)
   */
  watch: {
    /**
     * 监听仪表盘标识
     */
    '$route.meta.dashboard': {
      immediate: true,
      handler(dashboard) {
        this.charts_selectParam.boardCode = this.param.boardCode = this.INIT_ONE.boardCode = dashboard
        this.charts_startSelect()
      },
    },

    /**
     * 监听修改结束
     */
    needEdit(need) {
      if (!need) {
        // 成功和失败时都要重置单项
        this.setOne()
        // 失败时也要刷新列表
        !this.readyEdit && this.startList()
      }
    },
  },
}
</script>
